/*******************************************************************************
* Copyright 2007-2013 See AUTHORS file.
 * 
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* 
*   http://www.apache.org/licenses/LICENSE-2.0
* 
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
******************************************************************************/
package xworker.web.proxy;

import org.apache.http.client.HttpClient;
import org.xmeta.ActionContext;
import org.xmeta.Thing;
import org.xmeta.World;

import xworker.dataObject.DataObjectException;

public class HttpProxyConfigActions {
	/**
	 * 获取基础URL。
	 * 
	 * @param actionContext
	 * @return
	 */
	public static String getBaseUrl(ActionContext actionContext){
		Thing self = (Thing) actionContext.get("self");
		return self.getString("baseUrl");
	}
	
	/**
	 * 获取HttpClient。
	 * 
	 * @param actionContext
	 * @return
	 */
	public static HttpClient getHttpClient(ActionContext actionContext){
		Thing self = (Thing) actionContext.get("self");
		Thing httpClientThing = World.getInstance().getThing(self.getString("httpClient"));
		if(httpClientThing == null){
			httpClientThing = self.getThing("HttpClient@0");
		}
		if(httpClientThing == null){
			throw new DataObjectException("Please set up httpClient, thing=" + self);
		}
		
		return (HttpClient) httpClientThing.doAction("getHttpClient", actionContext);
	}
}